/* Layout for search container */

.search {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: rgba(0, 0, 0, 0.8);
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

.btn--search-close {
	position: absolute;
	top: -60px;
	right: -60px;
	display: none;
	cursor: pointer;
}

.btn--search-close {
	display: block;
}

.search_form {
	margin: 5em 0;
}

.search_input {
	float: left;
	width: 75%;
	height: 60px;
	line-height: 60px;
	font-size: 16px;
	color: #767676;
	border: none;
	background: #fff;
	text-indent: 18px;
}

.search_input::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	color: #767676;
}

.search__input::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: #767676;
}

.search_input:-ms-input-placeholder{
	color: #767676;
}

.search_input::-webkit-search-cancel-button,
.search_input::-webkit-search-decoration {
	-webkit-appearance: none;
}

.search_input::-ms-clear {
	display: none;
}

.search_btn{
	float: left;
	width: 25%;
	height: 60px;
	line-height: 60px;
	font-size: 16px;
	border: none;
	background: #2958d0;
	color: #fff;
	cursor: pointer;
}

.close-img{
	width: 42px;
}


.search--open {
	pointer-events: auto;
	opacity: 1;
}


/* Border */

.search::before,
.search::after {
	transition: transform 0.5s;
}

.search::before {
	transform: translate3d(-15px, -15px, 0);
}

.search::after {
	transform: translate3d(15px, 15px, 0);
}

.search--open::before,
.search--open::after {
	transform: translate3d(0, 0, 0);
}


/* Close button */

.btn--search-close {
	opacity: 0;
	transform: scale3d(0.8, 0.8, 1);
	transition: opacity 0.5s, transform 0.5s;
}

.search--open .btn--search-close {
	opacity: 1;
	transform: scale3d(1, 1, 1);
}


/* Search form with input and description */

.search_form {
	opacity: 0;
	transform: scale3d(0.8, 0.8, 1);
	transition: opacity 0.5s, transform 0.5s;
}

.search--open .search_form {
	width: 600px;
	opacity: 1;
	transform: scale3d(1, 1, 1);
}


@media screen and (max-width:1023px) {
	.search--open .search_form {
		width: 90%;
	}
	.search_form {
		margin: 1rem 0 1rem;
	}
	
	.search_input{
		height: 0.9rem;
		line-height: 0.9rem;
		font-size: 0.28rem;
		text-indent: 0.2rem;
	}
	.search_btn{
		height: 0.9rem;
		line-height: 0.9rem;
		font-size: 0.28rem;
	}
	.btn--search-close {
		top: -0.9rem;
		right: 0;
	}
	.close-img{
		width: 0.5rem;
	}
}